package sv.gob.mh.dgii.model;

// Generated Jun 24, 2010 11:44:06 AM by Hibernate Tools 3.3.0.GA

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * GoProduccionCaso generated by hbm2java
 */
@Entity
@Table(name = "GO_PRODUCCION_CASO")
public class GoProduccionCaso implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -9113824905796427436L;
	private Long cproduccion;
	private GoCaso goCaso;
	private Long btipoImpuesto;
	private Long vimpuesto;
	private Long vinteres;
	private Long vmulta;
	private Long vproduccion;
	private Long vtotal;
	private Long bestado;
	private Date ffecha;

	public GoProduccionCaso() {
	}

	public GoProduccionCaso(Long cproduccion) {
		this.cproduccion = cproduccion;
	}

	public GoProduccionCaso(Long cproduccion, GoCaso goCaso,
			Long vproduccion, Long vinteres, Long vmulta, Long vtotal,
			Long bestado, Date ffecha) {
		this.cproduccion = cproduccion;
		this.goCaso = goCaso;
		this.vproduccion = vproduccion;
		this.vinteres = vinteres;
		this.vmulta = vmulta;
		this.vtotal = vtotal;
		this.bestado = bestado;
		this.ffecha = ffecha;
	}

	/**
	 * @return the cproduccion
	 */
	@Id
	@Column(name = "C_PRODUCCION", unique = true, nullable = false, precision = 18, scale = 0)
	public Long getCproduccion() {
		return cproduccion;
	}

	/**
	 * @param cproduccion the cproduccion to set
	 */
	public void setCproduccion(Long cproduccion) {
		this.cproduccion = cproduccion;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns( {
			@JoinColumn(name = "N_CASO", referencedColumnName = "N_CASO", nullable = false, insertable = false, updatable = false),
			@JoinColumn(name = "C_PLANES", referencedColumnName = "C_PLANES", nullable = false, insertable = false, updatable = false) })
	public GoCaso getGoCaso() {
		return this.goCaso;
	}

	public void setGoCaso(GoCaso goCaso) {
		this.goCaso = goCaso;
	}

	/**
	 * @return the btipoImpuesto
	 */
	@Column(name = "B_TIPO_IMPUESTO", precision = 18, scale = 0)
	public Long getBtipoImpuesto() {
		return btipoImpuesto;
	}

	/**
	 * @param btipoImpuesto the btipoImpuesto to set
	 */
	public void setBtipoImpuesto(Long btipoImpuesto) {
		this.btipoImpuesto = btipoImpuesto;
	}

	/**
	 * @return the vimpuesto
	 */
	@Column(name = "V_IMPUESTO", precision = 18, scale = 2)
	public Long getVimpuesto() {
		return vimpuesto;
	}

	/**
	 * @param vimpuesto the vimpuesto to set
	 */
	public void setVimpuesto(Long vimpuesto) {
		this.vimpuesto = vimpuesto;
	}

	/**
	 * @return the vinteres
	 */
	@Column(name = "V_INTERES", precision = 18, scale = 2)
	public Long getVinteres() {
		return vinteres;
	}

	/**
	 * @param vinteres
	 *            the vinteres to set
	 */
	public void setVinteres(Long vinteres) {
		this.vinteres = vinteres;
	}

	/**
	 * @return the vmulta
	 */
	@Column(name = "V_MULTA", precision = 18, scale = 2)
	public Long getVmulta() {
		return vmulta;
	}

	/**
	 * @param vmulta
	 *            the vmulta to set
	 */
	public void setVmulta(Long vmulta) {
		this.vmulta = vmulta;
	}

	/**
	 * @return the vproduccion
	 */
	@Column(name = "V_PRODUCCION", precision = 24, scale = 2)
	public Long getVproduccion() {
		return vproduccion;
	}

	/**
	 * @param vproduccion
	 *            the vproduccion to set
	 */
	public void setVproduccion(Long vproduccion) {
		this.vproduccion = vproduccion;
	}

	/**
	 * @return the vtotal
	 */
	@Column(name = "V_TOTAL", precision = 24, scale = 2)
	public Long getVtotal() {
		return vtotal;
	}

	/**
	 * @param vtotal
	 *            the vtotal to set
	 */
	public void setVtotal(Long vtotal) {
		this.vtotal = vtotal;
	}

	/**
	 * @return the bestado
	 */
	@Column(name = "B_ESTADO", precision = 1, scale = 0)
	public Long getBestado() {
		return bestado;
	}

	/**
	 * @param bestado
	 *            the bestado to set
	 */
	public void setBestado(Long bestado) {
		this.bestado = bestado;
	}

	/**
	 * @return the ffecha
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "F_FECHA", length = 7)
	public Date getFfecha() {
		return ffecha;
	}

	/**
	 * @param ffecha
	 *            the ffecha to set
	 */
	public void setFfecha(Date ffecha) {
		this.ffecha = ffecha;
	}

}
